home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 1999 June / maximum-cd-1999-06.iso / Fireworks 2 / data1.cab / Program_Files / Settings / HTML_Code / Dreamweaver_Library.lbi / slices.htt < prev   
Encoding:
Text File  |  1999-03-01  |  19.7 KB  |  650 lines

  1. // Fireworks Dreamweaver 2.0 Library output.
  2. // Version 2.0 25JAN99
  3.  
  4.  
  5. // To export HTML without comments change the value of variable doComments to "false".
  6. var doComments = true;
  7.  
  8. // When doComments is set to "true" the WRITE_HTML_COMMENT and WRITE_JS_COMMENT functions
  9. // include HTML and JavaScript comments in the exported file.
  10. function WRITE_HTML_COMMENT(str) {
  11.     if (doComments) WRITE_HTML("<!--"+str+"-->\n");
  12. }
  13.  
  14. function WRITE_JS_COMMENT(str) {
  15.     if (doComments) WRITE_HTML("/* "+str+" */\n");
  16. }
  17.  
  18. // Declare variables for processing Behaviors.
  19. var hasGroup = false;
  20. var hasDownGroup = false;
  21. var hasSwap = false;
  22. var hasStatusMessage = false;
  23. var useCookie = true;
  24.  
  25. var onLoadPreloads = "";
  26.  
  27.     // Write HTML target and date created.
  28.     var d = new Date();
  29.     WRITE_HTML("<!-- Fireworks 2.0  Dreamweaver.lbi  2.0 target.  \n    Created ", d, " -->\n");
  30.     WRITE_HTML("\n")
  31.  
  32.     var curIdCounter = d.getTime();
  33.  
  34.     // Function SwapName generates a swap id based on the current time.
  35.     function SwapName(i) {
  36.         var name = "#" + Math.floor(i);
  37.         return(name);
  38.     }
  39.  
  40.  
  41. // Declare variables for processing Behaviors.
  42. var kActionStatusMessage = 1;
  43. var kActionSwapImage = 2;
  44. var kActionRadioGroup = 3;
  45.  
  46. var kEventMouseOver = 0;
  47. var kEventOnClick = 1;
  48. var kEventMouseOut = 2;
  49.  
  50. function CellName(row, col) {
  51.     var cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
  52.     var curSlice = slices[row][col];
  53.     if (curSlice && curSlice.getFrameFileName(0)) {
  54.         cellName = curSlice.getFrameFileName(0).toString();
  55.         curSlice.setFrameFileName(0, cellName);
  56.         // remove illegal characters
  57.         cellName = cellName.replace(/\W/g, "");
  58.         // if it starts with a number, add N to the front.
  59.         if (cellName == "") cellName = "N" + exportDoc.imagename + "_" + (row+1) + "_" + (col+1);
  60.         if (cellName.search(/\d/) == 0) {
  61.             cellName = "N"+cellName;
  62.         }
  63.     }
  64.     return(cellName);
  65. }
  66.  
  67. // Determine and process Behaviors in the document.
  68. function ProcessBehavior(theCurBehaviors, theObj) {
  69.     
  70.     // Declare variable for processing Behaviors.
  71.     var gotJavascript = false;
  72.  
  73.     var overStat = false;
  74.     var hitStat = false;
  75.     var outStat = false;
  76.     var curRestore = false;
  77.     var numRestore = 0;
  78.     var eraseStatOnRestore = false;
  79.  
  80.     var javaOver = "";
  81.     var javaOut = "";
  82.     var javaClick = "";
  83.  
  84.     var groupName = false;
  85.     
  86.     // Determine if this set of Behaviors includes a toggle group name.
  87.     for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
  88.         var curBehavior = theCurBehaviors[i];
  89.         if (curBehavior.action == kActionRadioGroup) {
  90.             groupName = curBehavior.groupName;
  91.         }
  92.     }
  93.     var swapImageOver = "";
  94.     var swapImageClick = "";
  95.     var swapImageOut = "";
  96.  
  97.     var precacheImageOver = "";
  98.     var precacheImageClick = "";
  99.     var precacheImageOut = "";
  100.  
  101.     // Translate Behaviors into JavaScript.
  102.     for (var i=0; i<theCurBehaviors.numberOfBehaviors; i++) {
  103.         var curBehavior = theCurBehaviors[i];
  104.         var curJavascript = "";
  105.         var curSwap = "";
  106.         var curPrecache = "";
  107.         
  108.         // Translate Swap Image Behaviors into JavaScript.
  109.         if (curBehavior.action == kActionSwapImage) {
  110.             gotJavascript = true;
  111.             curRestore = curBehavior.restoreOnMouseout;
  112.             var swapRow = curBehavior.targetRowNum;
  113.             var swapCol = curBehavior.targetColumnNum;
  114.             var swapFrame = curBehavior.targetFrameNum; 
  115.             var fileName;
  116.             if (curBehavior.hasHref) {
  117.                 fileName = curBehavior.href;
  118.             } else {
  119.                 fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(swapFrame) + slices[swapRow][swapCol].imageSuffix;
  120.             }
  121.             
  122.             var cellName = CellName(swapRow,swapCol);
  123.  
  124.             if (groupName) {
  125.                 curSwap += "'" +cellName +"','";
  126.                 curSwap += fileName +"'";
  127.                 if (curBehavior.event == kEventOnClick) {
  128.                     /* Need click file */
  129.                     if (slices[swapRow][swapCol].getFrameFileName(3) && swapFrame == 2) {
  130.                         fileName = slices.imagesDirPath + slices[swapRow][swapCol].getFrameFileName(3) + slices[swapRow][swapCol].imageSuffix;
  131.                     }
  132.                     curSwap += ",'" + fileName + "'";
  133.                 }
  134.  
  135.             } else {
  136.                 curSwap += "'document." +cellName +"','document." + cellName + "','";
  137.                 curSwap += fileName + "'"
  138.             }
  139.             if (curPrecache) curPrecache += ",";
  140.             curPrecache += "'" + fileName + "'";
  141.             if (curRestore) {
  142.                 numRestore += 1;
  143.             }
  144.         }
  145.         
  146.         // Translate Status Bar Message Behavior into JavaScript.
  147.         var gotStat = false;
  148.         if (curBehavior.action == kActionStatusMessage) {
  149.             gotJavascript = true;
  150.             gotStat = true;
  151.             var statMsg = curBehavior.statusText;
  152.             curJavascript += "MM_displayStatusMsg('" + statMsg + "');";
  153.             if (curBehavior.restoreOnMouseout) eraseStatOnRestore=true;
  154.         }
  155.         if (curBehavior.event == kEventMouseOver) {
  156.             if (curSwap) {
  157.                 if (swapImageOver) swapImageOver += ",";
  158.                 swapImageOver += curSwap;
  159.                 if (precacheImageOver) precacheImageOver+=",";
  160.                 precacheImageOver += curPrecache;
  161.             }
  162.             javaOver += curJavascript;
  163.             if (gotStat) overStat = true;
  164.         }
  165.         if (curBehavior.event == kEventMouseOut) {
  166.             if (curSwap) {
  167.                 if (swapImageOut) swapImageOut += ",";
  168.                 swapImageOut += curSwap;
  169.                 if (precacheImageOut) precacheImageOut+=",";
  170.                 precacheImageOut += curPrecache;
  171.             }
  172.             javaOut += curJavascript;
  173.             if (gotStat) outStat = true;
  174.         }
  175.         if (curBehavior.event == kEventOnClick) {
  176.             if (curSwap) {
  177.                 if (swapImageClick) swapImageClick += ",";
  178.                 swapImageClick += curSwap;
  179.                 if (precacheImageClick) precacheImageClick+=",";
  180.                 precacheImageClick += curPrecache;
  181.             }
  182.             javaClick += curJavascript;
  183.             if (gotStat) hitStat = true;
  184.         }
  185.     }
  186.  
  187.     if (groupName) {
  188.         
  189.         // If swap images are part of a group, translate swap image behaviors into JavaScript.
  190.         if (swapImageOver) {
  191.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  192.             javaOver += "GrpSwap('" + groupName + "'," + swapImageOver + tag;
  193.             onLoadPreloads += "MM_preloadImages(" + precacheImageOver + tag;
  194.             hasGroup = true;
  195.         }    
  196.         if (swapImageClick) {
  197.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  198.             javaClick += "GrpDown('" + groupName + "'," + swapImageClick + tag;
  199.             onLoadPreloads += "MM_preloadImages(" + precacheImageClick + tag; 
  200.             hasDownGroup = true;
  201.         }    
  202.         if (swapImageOut) {
  203.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  204.             javaOut += "GrpSwap('" + groupName + "'," + swapImageOut + tag;
  205.             onLoadPreloads += "MM_preloadImages(" + precacheImageOut + tag;
  206.             hasGrou = true;
  207.         }
  208.         if (numRestore >= 1) {
  209.             javaOut += "GrpRestore('" + groupName + "');" ;
  210.         }    
  211.     } else {
  212.  
  213.         // If swap images are not part of a group, translate swap image behaviors into JavaScript.
  214.         if (swapImageOver) {
  215.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  216.             javaOver += "MM_swapImage(" + swapImageOver + tag;
  217.             onLoadPreloads += "MM_preloadImages(" + precacheImageOver + tag;
  218.             hasSwap = true;
  219.         }    
  220.         if (swapImageClick) {
  221.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  222.             javaClick += "MM_swapImage(" + swapImageClick + tag;
  223.             onLoadPreloads += "MM_preloadImages(" + precacheImageClick + tag;
  224.             hasSwap = true;
  225.         }    
  226.         if (swapImageOut) {
  227.             tag = ",'" + SwapName(curIdCounter) + "');"; curIdCounter++;
  228.             javaOut += "MM_swapImage(" + swapImageOut + tag;
  229.             onLoadPreloads += "MM_preloadImages(" + precacheImageOut + tag;
  230.             hasSwap = true;
  231.         }
  232.         if (numRestore >= 1) {
  233.             javaOut += "MM_swapImgRestore();";
  234.             numRestore = 0;
  235.         }
  236.     }
  237.     
  238.     // Erase status bar message onMouseOut.
  239.     if (eraseStatOnRestore) {
  240.         javaOut += "MM_displayStatusMsg(' ');" ;
  241.         outStat = true;
  242.     }
  243.     
  244.     // Status bar messages require a return value in Netscape. 
  245.     // Put return at end of JavaScript.
  246.     var ret = "return document.MM_returnValue";
  247.     if (overStat) javaOver += ret;
  248.     if (outStat) javaOut += ret;
  249.     if (hitStat) javaClick += ret;
  250.     theObj.javaOver = javaOver;
  251.     theObj.javaOut = javaOut;
  252.     theObj.javaClick = javaClick;
  253.     theObj.gotJavascript = gotJavascript;
  254. }
  255.  
  256.     // Create an array for toggle groups.
  257.     var groups = new Array;
  258.     function AddGroup(name) {
  259.         var i;
  260.         for (i=0; i<groups.length; i++) {
  261.             if (groups[i] == name) return;
  262.         }
  263.         groups[i] = name;
  264.     }
  265.  
  266.     // Find and declare all images used in Behaviors.
  267.      function DoFile(curBeh) {
  268.         var swapRow = curBeh.targetRowNum;
  269.         var swapCol = curBeh.targetColumnNum;
  270.         var swapFrame = curBeh.targetFrameNum; 
  271.         var fileName = slices[swapRow][swapCol].getFrameFileName(0);
  272.         if (swapFrame > 0) {
  273.             var frame = swapFrame + 1;
  274.             fileName = fileName + "_F" + frame;
  275.             slices[swapRow][swapCol].setFrameFileName(swapFrame, fileName);
  276.         } 
  277.     }
  278.     
  279.     // Examine all behaviors to determine what groups and actions are present. 
  280.     // Determine which files to pre-cache.
  281.     for (var curRow = 0; curRow < slices.numRows; curRow++) {
  282.         for (var curCol = 0; curCol < slices.numColumns; curCol++) {
  283.             var curSlice = slices[curRow][curCol];
  284.              curSlice.javaOver = "";
  285.             curSlice.javaOut = "";
  286.             curSlice.javaClick = "";
  287.             curSlice.gotJavascript = false;
  288.             if (slices[curRow][curCol].skipCell) continue;
  289.                 i = i + exportDoc.numFrames;
  290.  
  291.             if (slices[curRow][curCol].behaviors.numberOfBehaviors > 0) {
  292.                 var behaviors = curSlice.behaviors;
  293.                 for (var i=0; i<behaviors.numberOfBehaviors; i++) {
  294.                     var curBehavior = behaviors[i];
  295.                     if (curBehavior.action == kActionSwapImage) {
  296.                         DoFile(curBehavior);
  297.                     }
  298.                     if (curBehavior.action == kActionRadioGroup) {
  299.                         AddGroup(curBehavior.groupName);
  300.                     }
  301.                     if (curBehavior.action == kActionStatusMessage) {
  302.                         hasStatusMessage=true;
  303.                     }
  304.                 }
  305.                 ProcessBehavior(behaviors, curSlice);
  306.             }
  307.             var imagemap = curSlice.imagemap;
  308.             for (var j=0; j < imagemap.numberOfURLs; j++) {
  309.                 var curImagemap = imagemap[j];
  310.                 var behaviors = curImagemap.behaviors;
  311.                 if (behaviors.numberOfBehaviors==0) {
  312.                     behaviors = curSlice.behaviors;
  313.                 }
  314.                 for (var i=0; i<behaviors.numberOfBehaviors; i++) {
  315.                     var curBehavior = behaviors[i];
  316.                     if (curBehavior.action == kActionSwapImage) {
  317.                         DoFile(curBehavior);
  318.                     }
  319.                     if (curBehavior.action == kActionRadioGroup) {
  320.                         AddGroup(curBehavior.groupName);
  321.                     }
  322.                     if (curBehavior.action == kActionStatusMessage) {
  323.                         hasStatusMessage=true;
  324.                     }
  325.                 }
  326.                 ProcessBehavior(behaviors, curImagemap);
  327.             }
  328.         }
  329.     }
  330.  
  331.  
  332.  
  333.  
  334.  
  335.     // Begin HTML table.
  336.     WRITE_HTML( "<table ");
  337.     
  338.     // If the Fireworks document's canvas is not transparent and the Include undefined slices checkbox
  339.     // is off, give the table a background color based on the FIreworks document's canvas color.
  340.     if (!exportDoc.backgroundIsTransparent && slices.doSkipUndefined) {
  341.         WRITE_HTML("bgcolor=\"#", exportDoc.backgroundColor, "\"");
  342.     } 
  343.     WRITE_HTML("border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"",
  344.         exportDoc.width, "\">\n");
  345.  
  346.     var v = 0;
  347.     var curCol;
  348.     var curRow;
  349.     var downIndex = 0;
  350.  
  351.     // If shims have been specified, write shim row.
  352.     if (slices.doShimEdges) {
  353.         WRITE_HTML("\n  <tr><!-- Shim row, height 1. -->\n");
  354.         for (curCol = 0; curCol < slices.numColumns; curCol++) {
  355.             WRITE_HTML("   <td><img name=\"FwShim_Col_", curCol, "\" src=\"", 
  356.                 slices.shimPath, "\" width=\"", 
  357.                 slices[0][curCol].cellWidth, "\" height=\"1\" border=\"0\"></td>\n"); 
  358.         }
  359.         WRITE_HTML("  </tr>\n");
  360.         WRITE_HTML("\n");
  361.     }
  362.     
  363.     // Write table rows.
  364.     for (curRow = 0; curRow < slices.numRows; curRow++) {
  365.         var curSlice; 
  366.         WRITE_HTML("  <tr><!-- row ", curRow+1," -->\n");
  367.         for (curCol = 0; curCol < slices.numColumns; curCol++) {
  368.             curSlice = slices[curRow][curCol];
  369.             if (curSlice.skipCell) continue; 
  370.  
  371.             // Write rowspan and colspan if necessary. Ex: rowspan="1" colspan="3"
  372.             WRITE_HTML("   <td");
  373.             if (curSlice.rowSpan > 1) {
  374.                 WRITE_HTML(" rowspan=\"", curSlice.rowSpan,"\"");
  375.             }
  376.             if (curSlice.columnSpan>1) {
  377.                 WRITE_HTML(" colspan=\"", curSlice.columnSpan, "\"");
  378.             }
  379.             WRITE_HTML(">");
  380.             
  381.              var imageName = curSlice.getFrameFileName(0);
  382.  
  383.             // Write HTML text from slices set to "Text (No Image)"
  384.             if (!curSlice.hasImage) {
  385.                 // no image, just dump out html text.
  386.                 WRITE_HTML(curSlice.htmlText, "</td>\n");
  387.                 continue;
  388.             }
  389.  
  390.             // If current slice is not defined by a slice object and Export Undefined
  391.             // Slices is not checked, don't output an image and if Shims are specified 
  392.             // place a shim image in the current cell.             
  393.              if (curSlice.isUndefined && slices.doSkipUndefined) {
  394.                 if (slices.doShimInternal || slices.doShimEdges) {
  395.                     WRITE_HTML("<img src=\"",
  396.                         slices.shimPath, "\" width=\"", curSlice.width, "\" height=\"", 
  397.                         curSlice.height, "\" border=\"0\">"); 
  398.                 }
  399.                 WRITE_HTML("</td>\n");
  400.                 
  401.                 // Tell Fireworks to not write the image file. Setting the filename to "" forces 
  402.                 // Fireworks to not generate the image.
  403.                 var q;
  404.                 for (q=0; q<exportDoc.numFrames; q++) {
  405.                     curSlice.setFrameFileName(q, "");
  406.                 }    
  407.                 continue;
  408.             }
  409.  
  410.             // Write link if slice has URL attached.
  411.             var href = "href=\"#\"";
  412.             var hasHref = slices.hasHref;
  413.             var abortHref = false;
  414.             var suffix = "";
  415.             
  416.             var hasHref = curSlice.hasHref;
  417.             var abortHref = false;
  418.             var suffix = "";
  419.             if (curSlice.hasHref) {
  420.                 href = "href=\"";
  421.                 href += curSlice.href;
  422.                 href += "\"";
  423.                 if (curSlice.hasTargetText) {
  424.                     href += " target=\"";
  425.                     href += curSlice.targetText;
  426.                     href += "\"";
  427.                 }
  428.             }
  429.  
  430.             // If exporting demo HTML, ignore the URL and replace with none.
  431.             if (slices.doDemoHTML && curSlice.getFrameFileName(2)) {
  432.                 hasHref = false;
  433.                 href = "href= \"#\"";
  434.             }
  435.             
  436.             // Initialize variables for rollover and swap image behaviors.
  437.             var cellName = CellName(curRow,curCol); 
  438.             var anchorTagOpen = false;
  439.             
  440.             var behaviors = slices[curRow][curCol].behaviors;
  441.             var javaOver = curSlice.javaOver;
  442.             var javaOut = curSlice.javaOut;
  443.             var javaClick = curSlice.javaClick;
  444.             var gotJavascript = curSlice.gotJavascript;
  445.                     
  446.             if (curSlice.hasImagemap) gotJavascript = false;
  447.             if ( gotJavascript || slices[curRow][curCol].hasHref) {
  448.                 
  449.                 // Open anchor tag.
  450.                   WRITE_HTML("<a ");
  451.                 anchorTagOpen = true;
  452.                 
  453.                 // Write link and rollovers.
  454.                 WRITE_HTML(href);
  455.  
  456.                 if (javaOut != "") {
  457.                     WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
  458.                 }
  459.                 if (javaOver != "") {
  460.                     WRITE_HTML(" onMouseOver=\"", javaOver, "\" ");
  461.                 }
  462.                 if (javaClick != "") {
  463.                     WRITE_HTML(" onClick=\"", javaClick, "\" ");
  464.                 }
  465.                 WRITE_HTML(">");
  466.             }
  467.             
  468.             // Determine alt text.
  469.             if (curSlice.hasImage) {
  470.                 var altText = "";
  471.                 if (curSlice.hasAltText) {
  472.                     altText = curSlice.altText;
  473.                 } else {
  474.                     altText = exportDoc.altText;
  475.                 }
  476.                 
  477.                 // Place image.
  478.                 // Assemble info for image tag.
  479.                 // Ex: <src="File_03_02.gif" img name="N_03_02" width="79" height="71" border="0"                
  480.                 WRITE_HTML("<img  src=\"",                    
  481.                     slices.imagesDirPath, imageName, suffix, curSlice.imageSuffix, "\" name=\"",  cellName, "\" width=\"",curSlice.width,"\" height=\"", curSlice.height, "\" border=\"0\"");
  482.                 
  483.                 // Write image map name.
  484.                 // Ex: usemap="#base_r1_c2"
  485.                 if (curSlice.hasImagemap) {
  486.                     WRITE_HTML(" usemap=\"#",imageName,"\""); 
  487.                 }
  488.                 
  489.                 // Write alt text.
  490.                 if (altText != "") {
  491.                     WRITE_HTML(" alt=\"", altText, "\"");
  492.                 }
  493.                 WRITE_HTML(">");    
  494.             }
  495.             
  496.             if (anchorTagOpen) {
  497.                 WRITE_HTML("</a>");    
  498.             }
  499.             WRITE_HTML("</td>\n");    
  500.         } 
  501.         
  502.         // Place shim in rightmost column of table.
  503.         if (slices.doShimEdges) {
  504.             /* Write the 1 pixel transparent shim. */
  505.             WRITE_HTML("   <td><img name=\"FwShim_Row_", curRow, "\" src=\"",
  506.                 slices.shimPath, "\" width=\"1\" height=\"", 
  507.                 curSlice.cellHeight, "\" border=\"0\"></td>\n"); 
  508.             WRITE_HTML("  </tr>\n");
  509.             WRITE_HTML("\n");
  510.         }
  511.     }        
  512.  
  513.     // Close table.
  514.     WRITE_HTML("</table>\n");
  515.     WRITE_HTML("\n");
  516.     
  517.     // Traverse all slices and generate any image maps needed.
  518.     for (curRow = 0; curRow < slices.numRows; curRow++) {
  519.         for (curCol = 0; curCol < slices.numColumns; curCol++) {
  520.             var curSlice = slices[curRow][curCol];
  521.             if (curSlice.skipCell)
  522.                 continue; 
  523.             if (curSlice.hasImagemap) {
  524.             
  525.                 // Write the image map.
  526.                 var imageName = curSlice.getFrameFileName(0);
  527.                 WRITE_HTML("<map name=\"", imageName, "\">\n");
  528.                 
  529.                 var i = 0;
  530.                 while (i < curSlice.imagemap.numberOfURLs) {
  531.                     var curImagemap = curSlice.imagemap[i];
  532.  
  533.                     var behaviors = curImagemap.behaviors;
  534.  
  535.                     if (behaviors.numberOfBehaviors==0) {
  536.                         behaviors = curSlice.behaviors;
  537.                     }
  538.                      var javaOver = curImagemap.javaOver;
  539.                     var javaOut = curImagemap.javaOut;
  540.                     var javaClick = curImagemap.javaClick;
  541.                     var gotJavascript = curImagemap.gotJavascript;
  542.     
  543.                     // Write the area tag with shape definitions.                    
  544.                     WRITE_HTML("<area shape=\"");
  545.                     WRITE_HTML(curImagemap.shape); // Shapes are rect poly and circle
  546.                     WRITE_HTML("\" coords=\"");
  547.                     for (var j=0; j<curImagemap.numCoords; j++) {
  548.                         if (j>0) WRITE_HTML(",");
  549.                         // polygon has n coords.
  550.                         // rect has 2 coords, topLeft, and botomRight.
  551.                         // circle has one coord, center; plus radius.
  552.                         WRITE_HTML((curImagemap.xCoord(j)-curSlice.left), ",", (curImagemap.yCoord(j)-curSlice.top)); 
  553.                     }
  554.                     if (curImagemap.shape == "circle") {
  555.                         // Write the radius for circle hotspots.
  556.                         WRITE_HTML(", ", curImagemap.radius);
  557.                     }
  558.                     WRITE_HTML("\"");
  559.                     var href = " href=\"#\"";
  560.                     if (curImagemap.hasHref) {
  561.                         href = " href=\"";
  562.                         href += curImagemap.href;
  563.                         href += "\"";
  564.                         if (curImagemap.hasTargetText) {
  565.                             href += " target=\"";
  566.                             href += curImagemap.targetText;
  567.                             href += "\"";
  568.                         }
  569.                     }
  570.  
  571.                     WRITE_HTML(href);
  572.                     
  573.                     // Write alt text for hotspot.
  574.                      var altText = "";
  575.                     if (curImagemap.hasAltText) {
  576.                         altText = curImagemap.altText;
  577.                     } else {
  578.                         altText = exportDoc.altText;
  579.                     }
  580.  
  581.                     if (altText!="") {
  582.                         WRITE_HTML(" title=\"", altText, "\"");
  583.                         WRITE_HTML(" alt=\"", altText, "\"");
  584.                     }
  585.  
  586.                     // Write rollover and swap image behaviors.
  587.                     if (javaOut != "") {
  588.                         WRITE_HTML(" onMouseOut=\"", javaOut, "\"");
  589.                     }
  590.                     if (javaOver != "") {
  591.                         WRITE_HTML(" onMouseOver=\"", javaOver, "\"");
  592.                     }
  593.                     if (javaClick != "") {
  594.                         WRITE_HTML(" onClick=\"", javaClick, "\"");
  595.                     }
  596.  
  597.                     WRITE_HTML(">\n");
  598.                     i++;
  599.                 } 
  600.                 behaviors = curSlice.behaviors;
  601.                  var javaOver = curSlice.javaOver;
  602.                 var javaOut = curSlice.javaOut;
  603.                 var javaClick = curSlice.javaClick;
  604.                 var gotJavascript = curSlice.gotJavascript;
  605.                 
  606.                 // If the current slice had a URL attached, it was moved and written here.                
  607.                 if (gotJavascript || curSlice.hasHref) {
  608.                     WRITE_HTML("<area shape=\"rect\" coords=\"0,0, ", curSlice.width, ",", curSlice.height, "\" ");
  609.                     var href="#";
  610.                     if (curSlice.hasHref) {
  611.                         href = curSlice.href;
  612.                     }
  613.                     WRITE_HTML("href=\"", href, "\"");
  614.  
  615.                     var altText = "";
  616.                     if (curSlice.hasAltText) {
  617.                         altText = curSlice.altText;
  618.                     } else {
  619.                         altText = exportDoc.altText;
  620.                     }
  621.                     if (altText!="") {
  622.                         WRITE_HTML(" title=\"", altText, "\"");
  623.                         WRITE_HTML(" alt=\"", altText, "\"");
  624.                     }
  625.  
  626.                     if (curSlice.hasTargetText) {
  627.                         WRITE_HTML("\n  target=\"", curSlice.targetText, "\"");
  628.                     }
  629.                     if (javaOut != "") {
  630.                         WRITE_HTML(" onMouseOut=\"", javaOut, "\" ");
  631.                     }
  632.                     if (javaOver != "") {
  633.                         WRITE_HTML(" onMouseOver=\"", javaOver, "\"");
  634.                     }
  635.                     if (javaClick != "") {
  636.                         WRITE_HTML(" onClick=\"", javaClick, "\"");
  637.                     }
  638.                     WRITE_HTML(">\n");
  639.                 }    
  640.                 WRITE_HTML("</map>\n");
  641.                 WRITE_HTML("\n");
  642.             }
  643.         }
  644.     }
  645. WRITE_HTML("\n");
  646.  
  647.     WRITE_HTML_COMMENT("   This table was automatically created with Macromedia Fireworks 2.0   ");
  648.     WRITE_HTML_COMMENT("   http://www.macromedia.com   ");
  649. // End of export script.
  650.